<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    // 构造函数  用来构建某一类型的对象 - 对象的实例化

    // 属性 size
    let arr = [2, 1, 2, 1, 3, 'a', 4, 4, 5, 1];
    let s = new Set(arr);
    console.log(s.size); // 5 相当于length
    
    // 方法 clear() 清空所有值
    // s.clear();
    // console.log(s);
    
    // delete() 删除某一项
    // s.delete('a');
    // console.log(s); // Set(5) {2, 1, 3, 4, 5}
    console.log(s.delete('a')); // false 代表删除成功还是失败
    

    // add() 增加某一项（重复项加不进去）
    // s.add('b');
    // console.log(s);
    s.add(2);
    console.log(s);
    console.log(s.add(2)); // 返回值是set对象本身
    s.add('b').add('c');
    console.log(s);

    // has() 是否包含某一项
    console.log(s.has('a')); // true


    /*
        s.clear() 清空所有值
    
        s.delete(val) 删除某一项
        参数：val 要删除的值
        返回值：true || false 是否删除成功
        
        s.add(val)
        参数：val 要添加的值
        返回值：set对象本身，可以进行链式操作  s.add('b').add('c');
        
        s.has(val)
        参数：val 要查找的值
        返回值：true || false 是否包含这个值
     */
</script>
</body>
</html>
